﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;


namespace SLDataGridSQL_CS
{
    public partial class Page : UserControl
    {
        public Page()
        {
            InitializeComponent();
        }

        private void lstTablas_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            // instanciar el servicio Web
            RefWSDatos.WSDatosClient wsObtenerDatos = new SLDataGridSQL_CS.RefWSDatos.WSDatosClient();

            // comprobar el elemento seleccionado del ListBox
            // asociar el método manipulador del evento xxxCompleted
            // y llamar al método asíncrono que obtiene las filas de la tabla
            if (((ListBoxItem)this.lstTablas.SelectedItem).Content.ToString() == "Productos")
            {
                wsObtenerDatos.obtenerProductosCompleted += new EventHandler<SLDataGridSQL_CS.RefWSDatos.obtenerProductosCompletedEventArgs>(wsObtenerDatos_ObtenerProductosCompleted);
                try
                {
                    wsObtenerDatos.obtenerProductosAsync(int.Parse(txtCant.Text));
                }
                catch (Exception ex)
                {

                }
            }
            else
            {
                wsObtenerDatos.obtenerCategoriasCompleted += new EventHandler<SLDataGridSQL_CS.RefWSDatos.obtenerCategoriasCompletedEventArgs>(wsObtenerDatos_ObtenerCategoriasCompleted);
                try
                {
                    DateTime ini = DateTime.Parse(txtFechaIni.Text);
                    DateTime fin = DateTime.Parse(txtFechaFin.Text);
                    wsObtenerDatos.obtenerCategoriasAsync(ini, fin);
                }
                catch (Exception ex)
                {

                }
            }
        }

        // los siguientes manipuladores de evento son llamados al finalizar
        // la ejecución del método asíncrono; en ellos se obtienen las filas
        // de la tabla en forma de colección, la cual es pasada al DataGrid
        // como fuente de datos
        void wsObtenerDatos_ObtenerProductosCompleted(object sender, SLDataGridSQL_CS.RefWSDatos.obtenerProductosCompletedEventArgs e)
        {
        //    Dictionary<string, float> lista = new Dictionary<String, float>();
        //    string[] arreglo = e.Result.ToString().Split(' ');
        //    int i = 0;
        //    foreach (string s in arreglo)
        //    {
        //        lista.Add(s[i].ToString(), float.Parse(s[i + 1].ToString()));
        //    }
  
            this.grdDatos.ItemsSource = e.Result;
        }

        void wsObtenerDatos_ObtenerCategoriasCompleted(object sender, SLDataGridSQL_CS.RefWSDatos.obtenerCategoriasCompletedEventArgs e)
        {
            //Dictionary<string, string> lista = new Dictionary<String, string>();
            //string[] arreglo = e.Result.ToString().Split(' ');
            //int i = 0;
            //foreach (string s in arreglo)
            //{
            //    lista.Add(s[i].ToString(), s[i+1].ToString());
            //}

            this.grdDatos.ItemsSource = e.Result;
        }



    }
}
